//package com.mobile.web.connectionMonitor;
//
//
//import com.mobile.service.inter.ConnectionMonitorService;
//import com.mobile.service.inter.system.DictService;
//import com.mobile.web.base.BaseController;
//import com.mobile.web.config.util.Jurisdiction;
//import com.mobile.util.*;
//import org.apache.shiro.authz.annotation.RequiresPermissions;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @author wangbaorui
// */
//@RestController
//@RequestMapping("/monitor")
//public class ConnectionMonitorController extends BaseController {
//    @Autowired
//    ConnectionMonitorService connectionMonitorService;
//    @Autowired
//    private DictService dictService;
//
//    @RequestMapping("/getMonitorList")
//    //@RequiresPermissions("monitor:read:1")
//    public Object getEngineeringlistPage(){
//        Page page = this.getPage();
//        Map<String,Object> map = new HashMap<>();
//
//        try {
//            List<PageData> monitorList = connectionMonitorService.getConnectionMonitorlistPage(page);
//            map.put("data",monitorList);
//            map.put("page",page);
//            //字典组
//            List<PageData>  platformType = dictService.getDictItemByNo("platform_type");
//            List<PageData>  monitorState = dictService.getDictItemByNo("monitor_state");
//            List<PageData>  runningState = dictService.getDictItemByNo("running_state");
//            map.put("platformType",platformType);
//            map.put("monitorState",monitorState);
//            map.put("runningState",runningState);
//            //获取按钮权限
//            map.put("QX", Jurisdiction.getHC(this.getUserCode(),"monitor"));
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_SUCCESS);
//        } catch (Exception e) {
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//        return AppUtil.returnObject(map);
//    }
//    /**
//     * 新增监控信息
//     */
//    @RequestMapping("/addMonitor")
//    //@RequiresPermissions("monitor:add:1")
//    public Object addMonitor() {
//        PageData pd = this.getPageData();
//        Map<String, Object> map;
//        try {
//            map = connectionMonitorService.insertConnectionMonitor(pd);
//            if (Const.MONITOR_TYPE_RUNNING.equals(pd.getString("monitorState")) && Const.ACTION_RESULT_SUCCESS.equals(map.get(Const.ACTION_RESULT))) {
//                connectionMonitorService.monitor(pd, this.getUserCode());
//            }
//        } catch (Exception e) {
//            map = new HashMap<>();
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//        return AppUtil.returnObject(pd, map);
//    }
//
//    /**
//     * 删除监控
//     */
//    @RequestMapping("/deleteMonitorById")
//    //@RequiresPermissions("monitor:delete:1")
//    public Object removeMonitor() {
//        Map<String, Object> map = null;
//        PageData pd = this.getPageData();
//        Integer commId = Integer.valueOf(pd.getString("commId"));
//
//        try {
//            map = connectionMonitorService.removeMonitor(commId);
//        } catch (Exception e) {
//            map = new HashMap<>();
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(pd, map);
//    }
//
//    /**
//     * 修改监控
//     */
//    @RequestMapping("/updateMonitor")
//    //@RequiresPermissions("monitor:edit:1")
//    public Object updateMonitor() {
//        Map<String, Object> map = null;
//        PageData pd = this.getPageData();
//        try {
//            map = connectionMonitorService.updateConnectionMonitor(pd);
//            if (Const.MONITOR_TYPE_RUNNING.equals(pd.getString("monitorState")) && Const.ACTION_RESULT_SUCCESS.equals(map.get(Const.ACTION_RESULT))) {
//                connectionMonitorService.monitor(pd, this.getUserCode());
//            }
//        } catch (Exception e) {
//            map = new HashMap<>();
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(pd, map);
//    }
//
//    /**
//     * 根据ID获取监控
//     */
//    @RequestMapping("/getMonitorById")
//    //@RequiresPermissions("monitor:edit:1")
//    public Object getMonitorById() {
//        PageData pd = this.getPageData();
//        Integer commId = Integer.valueOf(pd.getString("commId"));
//        Map<String, Object> map = new HashMap<>();
//
//        try {
//            PageData monitor = connectionMonitorService.getMonitorById(commId);
//            map.put("data", monitor);
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_SUCCESS);
//            pd.put("resId", commId);
//            pd.put("sendType", Const.SEND_TYPE_CONNECTION);
//            map.put("notifier",connectionMonitorService.getResourceNotifier(pd));
//            if (StringUtil.isEmpty(monitor)) {
//                map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_FAILED);
//                map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0001"));
//            }
//        } catch (Exception e) {
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(pd, map);
//    }
//    /**
//     * 手动测试
//     */
//    @RequestMapping("/monitor")
//    //@RequiresPermissions("monitor:edit:1")
//    public Object monitor() {
//        PageData pd = this.getPageData();
//        Map<String, Object> map = new HashMap<>();
//
//        try {
//            String flag = connectionMonitorService.monitor(pd, this.getUserCode());
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_SUCCESS);
//            if (Const.MONITOR_RUNNING_TYPE_SUCCESS.equals(flag)) {
//                map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0094","正常"));
//            } else if (Const.MONITOR_RUNNING_TYPE_EXCEPTION.equals(flag)) {
//                map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0094","异常"));
//            }else{
//                map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0094","失败(错误)"));
//            }
//        } catch (Exception e) {
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(pd, map);
//    }
//    /**
//     * 日志
//     */
//    @RequestMapping("/logRecord")
//    //@RequiresPermissions("monitor:read:1")
//    public Object logRecord() {
//        Page pd = this.getPage();
//        Map<String, Object> map = new HashMap<>();
//
//        try {
//            List<PageData> data=connectionMonitorService.logRecord(pd);
//            map.put("data", data);
//            map.put("page",pd);
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_SUCCESS);
//        } catch (Exception e) {
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(map);
//    }
//    /**
//     * 一键测试
//     */
//    @RequestMapping("/autoTest")
//    //@RequiresPermissions("monitor:edit:1")
//    public Object autoTest() {
//        PageData pd = this.getPageData();
//        Map<String, Object> map = new HashMap<>();
//        try {
//            connectionMonitorService.connectionMonitorTask(this.getUserCode());
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_SUCCESS);
//        } catch (Exception e) {
//            map.put(Const.ACTION_RESULT, Const.ACTION_RESULT_EXCEPTION);
//            map.put(Const.ACTION_MESSAGE, MessageUtil.getMessage("E0016"));
//            logger.error(e.getMessage(), e);
//        }
//
//        return AppUtil.returnObject(pd, map);
//    }
//}
